package com.szholly.data.coderule;

/// <summary>
/// 定义规则类型
/// </summary>
public enum RuleType {
	// / <summary>
	// / 最大值
	// / </summary>
	MaxValue(1),
	// / <summary>
	// / 最小值
	// / </summary>
	MinValue(2),
	// / <summary>
	// / 最小未使用值
	// / </summary>
	MinUnusedValue(3),
	// / <summary>
	// / 最大未使用值
	// / </summary>
	MaxUnusedValue(4),
	// / <summary>
	// / 根据之前的编码规则，模糊查询最大值
	// / </summary>
	LikeMaxValue(5),
	// / <summary>
	// / 根据之前的编码规则，模糊查询最小值
	// / </summary>
	LikeMinValue(6),
	// / <summary>
	// / 根据之前的编码规则，模糊查询最小未使用值
	// / </summary>
	LikeMinUnusedValue(7),
	// / <summary>
	// / 根据之前的编码规则，模糊查询最大未使用值
	// / </summary>
	LikeMaxUnusedValue(8),
	// / <summary>
	// / 序列值
	// / </summary>
	SequenceValue(9),
	// / <summary>
	// / 字段值
	// / </summary>
	FieldValue(10),
	// / <summary>
	// / 固定值
	// / </summary>
	FlexValue(11),
	// / <summary>
	// / 当前日期值
	// / </summary>
	DateValue(12);

	private final int ruleType;

	public int getRuleType() {
		return ruleType;
	}

	private RuleType(int ruleType) {
		this.ruleType = ruleType;
	}

	public static RuleType getRuleTypeById(int ruleTypeId) {
		for (RuleType ruleType : values()) {
			if (ruleType.getRuleType() == ruleTypeId) {
				return ruleType;
			}
		}
		return null;
	}
}
